#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : Lee
# @File    : alert_messagebox_view.py
# @Time    : 2024/1/11 16:23
from PyQt5.QtWidgets import QMessageBox


def show_message_box(title, text, btn_text_list):
    msg_box = QMessageBox()
    msg_box.setIcon(QMessageBox.Question)
    msg_box.setWindowTitle(title)
    msg_box.setText(text)

    if len(btn_text_list) == 3:
        msg_box.setStandardButtons(QMessageBox.Yes | QMessageBox.Ok | QMessageBox.Cancel)
        btn_ok = msg_box.button(QMessageBox.Ok)
        btn_ok.setText(btn_text_list[1])
    elif len(btn_text_list) == 2:
        msg_box.setStandardButtons(QMessageBox.Yes | QMessageBox.Cancel)
    else:
        return None

    btn_yes = msg_box.button(QMessageBox.Yes)
    btn_yes.setText(btn_text_list[0])

    btn_cancel = msg_box.button(QMessageBox.Cancel)
    btn_cancel.setText(btn_text_list[-1])

    msg_box.exec_()
    return msg_box.clickedButton().text()


def format_message_text(test_res):
    return f"""均分轨迹点:\n
        最大误差(cm)：{round(test_res["均分轨迹点"]["最大误差(cm)"], 2)}\n
        平均误差(cm)：{round(test_res["均分轨迹点"]["平均误差(cm)"], 2)}\n
        直线精度(cm)：{round(test_res["均分轨迹点"]["直线精度(cm)"], 2)}\n
        平均速度(km/h)：{round(test_res["均分轨迹点"]["平均速度(km/h)"], 2)}\n\n均分轨迹长度:\n
        最大误差(cm)：{round(test_res["均分轨迹长度"]["最大误差(cm)"], 2)}\n
        平均误差(cm)：{round(test_res["均分轨迹长度"]["平均误差(cm)"], 2)}\n
        直线精度(cm)：{round(test_res["均分轨迹长度"]["直线精度(cm)"], 2)}\n
        平均速度(km/h)：{round(test_res["均分轨迹长度"]["平均速度(km/h)"], 2)}\n\n均分轨迹在基准线上的投影:\n
        最大误差(cm)：{round(test_res["均分轨迹在基准线上的投影"]["最大误差(cm)"], 2)}\n
        平均误差(cm)：{round(test_res["均分轨迹在基准线上的投影"]["平均误差(cm)"], 2)}\n
        直线精度(cm)：{round(test_res["均分轨迹在基准线上的投影"]["直线精度(cm)"], 2)}\n
        平均速度(km/h)：{round(test_res["均分轨迹在基准线上的投影"]["平均速度(km/h)"], 2)}
        """
